package com.ninong.ker.admin.sevice;

import com.github.pagehelper.PageInfo;
import com.ninong.ker.admin.rest.vo.TenantVO;
import com.ninong.ker.admin.service.dto.TenantDTO;

import java.sql.SQLException;
import java.util.List;

/**
 * <p>
 * saas租户 服务类
 * </p>
 *
 * @author JMZ
 * @since 2020-09-12
 */
public interface TenantService {


    /**
     * 租户list
     * @param dto
     * @return
     */
    PageInfo<TenantVO> listPage(TenantDTO dto);

    /**
     * 添加租户
     *
     * @param dto 租户信息
     * @return boolean
     */
    void create(TenantDTO dto) throws SQLException;

    /**
     * 删除租户
     *
     * @param id 租户id
     * @return boolean
     */
    void delete(String[] id);

    /**
     * 根据租户id获取租户
     *
     * @param id 租户id
     * @return cn.greenbon.api.business.system.bean.Tenant
     */
    TenantVO get(String id);

    /**
     * 租户菜单更新
     * @param tenantId
     * @param menuIds
     */
    void updateTenantMenuByTenantId(String tenantId, List<String> menuIds) throws SQLException;

    /**
     * 获取已选中数据
     * @param tenantId
     * @return
     */
    List<String>  listTreeByTenantId(String tenantId);

    /**
     * 启用/停用租户
     * @param id
     * @param enable
     */
	void enableTenant(String id, Boolean enable);

	/**
	 * 重置租户的管理员密码
	 * @param id
	 */
	void resetPassword(String id);
}
